import numpy as np

a = np.array([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
])
b = np.ones((3, 3))
# 矩阵的默认运算，是对位运算
# 矩阵加减乘除法
# print(a - b)
# print(a + b)
# print(a / b)
# print(a * b)

# 广播机制(如果运算内容与原本内容的形状不一致，则补齐运算)
c = np.ones((3, 1))
# print(a - c)
# print(a + c)
# print(a / c)
# print(a * c)


# 线性代数中的矩阵转置运算
# 概念：n x m 的矩阵 与 m x k的矩阵 相乘，得到 n x k 的矩阵
a1 = np.ones((3, 2))
a2 = np.ones((2, 4))
# print(a1 * a2) # 此处不可以相乘，因为矩阵默认运算是对位运算
print(np.matmul(a1, a2).shape)  # (3, 4)
